package com.itlong.cloud.operate.service;

import com.itlong.cloud.POJO.DTO.operate.OperateProjectInfoGetPageDTO;
import com.itlong.cloud.POJO.DTO.operate.OperateUiInfoPageDTO;
import com.itlong.cloud.POJO.DTO.operate.OperateUiInfoSaveDTO;
import com.itlong.cloud.POJO.VO.operate.OperateUiInfoGetOneVO;
import com.itlong.cloud.POJO.VO.operate.OperateUiInfoGetPageVO;
import com.itlong.cloud.POJO.VO.operate.OperateUiProjectInfoVO;
import com.itlong.cloud.utils.page.Page;

/**
 * <desc>
 *      运营-UI管理。
 * <desc/>
 *
 * @createDate 2018-03-20.
 */
public interface IOperateUiManageService {

    /**
     * <desc>
     *      保存UI信息。
     * <desc/>
     *
     * @param  saveDTO
     * @return
     * @author shengen.T
     * @createDate 2018-03-20
     */
    Integer saveUiInfo(OperateUiInfoSaveDTO saveDTO) throws Exception;

    /**
     * <desc>
     *      更新UI信息。
     * <desc/>
     *
     * @param  saveDTO
     * @return
     * @author shengen.T
     * @createDate 2018-03-20
     */
    Integer updateUiInfo(OperateUiInfoSaveDTO saveDTO) throws Exception;

    /**
     * <desc>
     *      删除UI信息。
     * <desc/>
     *
     * @param  uiIds
     * @return
     * @author shengen.T
     * @createDate 2018-03-21
     */
    Integer delUiInfo(String uiIds) throws Exception;

    /**
     * <desc>
     *      设置UI启用禁用。
     * <desc/>
     *
     * @param  uiId
     * @param  type
     * @return
     * @author shengen.T
     * @createDate 2018-03-21
     */
    Integer setStatus( String uiId ,Integer type) throws Exception;

    /**
     * <desc>
     *      获取UI详细信息。
     * <desc/>
     *
     * @param  uiId
     * @return
     * @author shengen.T
     * @createDate 2018-03-22
     */
    OperateUiInfoGetOneVO getOneUiInfo(String uiId) throws Exception;

    /**
     * <desc>
     *      分页获取信息。
     * <desc/>
     *
     * @param  pageDTO
     * @return
     * @author shengen.T
     * @createDate 2018-03-22
     */
    Page<OperateUiInfoGetPageVO> getPageUiInfo(OperateUiInfoPageDTO pageDTO) throws Exception;

    /**
     * <desc>
     *      分页查询项目信息
     * <desc/>
     *
     * @param pageDTO 分页查询项目信息DTO
     * @return
     * @author shengen.T
     * @createDate 2018-03-23
     */
    Page<OperateUiProjectInfoVO> getPageProject(OperateProjectInfoGetPageDTO pageDTO) throws Exception;

}
